/*
Theme Name: Plantas Carnívoras — Twenty Twenty-Four Child
Theme URI: https://wordpress.org/themes/twentytwentyfour/
Description: Plantillas educativas con diseño botánico, cuadrículas de artículos y diseño adaptable. Tema hijo de Twenty Twenty-Four.
Author: OpenAI
Version: 1.1.0
Requires at least: 6.4
Requires PHP: 7.4
Template: twentytwentyfour
Text Domain: plantas-carnivoras-tt4
*/

:root {
  --pc-forest: #254d2c;
  --pc-forest-deep: #18351b;
  --pc-leaf: #3f7738;
  --pc-lime: #b7d96b;
  --pc-cream: #f7f7f0;
  --pc-ink: #1b261c;
  --pc-muted: #5c655d;
  --pc-line: #e0e6dc;
  --pc-soft: #f2f6ec;
  --pc-card-shadow: 0 8px 24px rgba(24, 52, 23, .07);
}

html, body { max-width: 100%; overflow-x: clip; }
body { color: var(--pc-ink); }
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }
.wp-site-blocks { width: 100%; max-width: 100%; overflow-wrap: anywhere; }
.wp-site-blocks main { min-width: 0; max-width: 100%; }
.wp-site-blocks > * { min-width: 0; }

/* Encabezados, páginas y archivos */
.pc-archive-main,
.pc-blog-main,
.pc-single-main,
.pc-page-main,
.pc-index-main,
.pc-404-main {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: clip;
}

.pc-archive-hero,
.pc-blog-hero,
.pc-page-hero,
.pc-404-hero {
  box-sizing: border-box;
  width: 100%;
  padding: clamp(42px, 7vw, 82px) 24px clamp(30px, 4vw, 46px);
  background: linear-gradient(140deg, #f5f8ef 0%, #ffffff 65%, #eaf1e3 100%);
  border-bottom: 1px solid var(--pc-line);
}
.pc-archive-hero > *,
.pc-blog-hero > *,
.pc-page-hero > *,
.pc-404-hero > * { max-width: 780px; margin-inline: auto; }
.pc-eyebrow {
  margin: 0 0 12px !important;
  color: var(--pc-leaf);
  font-family: inherit;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .13em;
  line-height: 1.5;
  text-transform: uppercase;
}
.pc-archive-hero h1,
.pc-blog-hero h1,
.pc-page-hero h1,
.pc-404-hero h1,
.pc-single-header h1 {
  color: var(--pc-forest);
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.1;
  overflow-wrap: anywhere;
}
.pc-archive-hero h1,
.pc-blog-hero h1,
.pc-page-hero h1,
.pc-404-hero h1 { font-size: clamp(2rem, 5vw, 3.7rem); }
.pc-archive-hero .wp-block-term-description,
.pc-archive-hero .wp-block-term-description p,
.pc-blog-hero .pc-hero-intro,
.pc-page-hero .pc-page-intro,
.pc-404-hero p {
  color: var(--pc-muted);
  font-size: 1.06rem;
  line-height: 1.8;
}
.pc-archive-hero .wp-block-term-description { margin-top: 16px; }

/* Buscador */
.pc-search-tools { margin-top: 24px; }
.pc-search-tools .wp-block-search__inside-wrapper {
  display: flex;
  gap: 10px;
  max-width: 640px;
  padding: 6px;
  border: 1px solid #d7e0d1;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 3px 15px rgba(30, 60, 25, .04);
}
.pc-search-tools .wp-block-search__input {
  min-width: 0;
  border: 0;
  border-radius: 6px;
  padding: 10px 12px;
  background: transparent;
  color: var(--pc-ink);
}
.pc-search-tools .wp-block-search__button {
  flex-shrink: 0;
  margin: 0;
  border: 1px solid var(--pc-forest);
  border-radius: 7px;
  padding: 11px 18px;
  background: var(--pc-forest);
  color: #fff;
  font-weight: 700;
}

/* Cuadrícula dinámica de entradas: se llena con las publicaciones reales */
.pc-query {
  display: block !important;
  position: relative;
  float: none;
  clear: both;
  box-sizing: border-box;
  width: min(1200px, calc(100% - 48px)) !important;
  max-width: 100%;
  min-width: 0;
  margin: 0 auto !important;
  padding: 36px 0 76px;
}
.pc-query > *,
.pc-query .wp-block-query-no-results,
.pc-query .wp-block-query-pagination { min-width: 0; max-width: 100%; box-sizing: border-box; }
.pc-query .wp-block-query-no-results {
  display: block;
  position: relative;
  width: 100%;
  margin: 0;
  overflow-wrap: anywhere;
  white-space: normal;
}
.wp-block-post-template.pc-post-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
.wp-block-post-template.pc-post-grid > li { min-width: 0; margin: 0 !important; padding: 0; }
.pc-post-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--pc-line);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(24, 52, 23, .035);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.pc-post-card:hover { transform: translateY(-3px); border-color: #b8caa9; box-shadow: var(--pc-card-shadow); }
.pc-post-card > .wp-block-post-featured-image { flex: 0 0 auto; margin: 0; overflow: hidden; aspect-ratio: 4 / 3; background: #e8eee3; }
.pc-post-card > .wp-block-post-featured-image a { display: block; width: 100%; height: 100%; }
.pc-post-card > .wp-block-post-featured-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.pc-post-card:hover > .wp-block-post-featured-image img { transform: scale(1.035); }
.pc-card-body { display: flex; flex: 1 1 auto; flex-direction: column; align-items: flex-start; padding: 20px 21px 22px; }
.pc-card-body > * { max-width: 100%; }
.pc-card-kicker { margin: 0 0 9px !important; color: var(--pc-leaf); font-size: .72rem; font-weight: 800; letter-spacing: .1em; line-height: 1.45; text-transform: uppercase; }
.pc-card-kicker a { color: inherit; text-decoration: none; }
.pc-post-card .wp-block-post-title { margin: 0 0 10px !important; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.18rem, 1.55vw, 1.45rem); font-weight: 700; letter-spacing: -.025em; line-height: 1.25; }
.pc-post-card .wp-block-post-title a { color: var(--pc-forest); text-decoration: none; text-underline-offset: 4px; }
.pc-post-card .wp-block-post-title a:hover { text-decoration: underline; }
.pc-post-card .wp-block-post-excerpt { margin: 0 0 14px !important; color: var(--pc-muted); font-size: .94rem; line-height: 1.7; }
.pc-post-card .wp-block-post-excerpt__more-text { margin-top: 12px; }
.pc-post-card .wp-block-post-excerpt__more-link { color: var(--pc-forest); font-weight: 800; text-decoration: none; }
.pc-post-card .wp-block-post-date { margin-top: auto; padding-top: 12px; color: #687468; font-size: .79rem; }
.pc-empty-state {
  width: 100%;
  max-width: 660px;
  min-width: 0;
  margin: 0 auto;
  padding: clamp(22px, 4vw, 36px);
  border: 1px solid var(--pc-line);
  border-radius: 15px;
  background: linear-gradient(145deg, var(--pc-cream), #fff);
  text-align: left;
  overflow-wrap: anywhere;
}
.pc-empty-state h2 {
  margin-top: 0;
  color: var(--pc-forest);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.35rem, 2.5vw, 1.85rem);
  line-height: 1.25;
}
.pc-empty-state p { color: var(--pc-muted); line-height: 1.75; }
.pc-empty-state p:last-child { margin-bottom: 0; }

/* Paginación */
.pc-query .wp-block-query-pagination { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 38px; }
.pc-query .wp-block-query-pagination > * { margin: 0; }
.pc-query .wp-block-query-pagination-numbers { display: flex; flex-wrap: wrap; gap: 8px; }
.pc-query .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; min-height: 42px; padding: 8px 12px; border: 1px solid var(--pc-line); border-radius: 8px; color: var(--pc-forest); text-decoration: none; font-weight: 700; }
.pc-query .page-numbers.current { background: var(--pc-forest); color: #fff; border-color: var(--pc-forest); }

/* Artículos individuales */
.pc-single-main { padding: clamp(34px, 5vw, 64px) 24px 76px; }
.pc-single-header { max-width: 900px; margin: 0 auto 28px; }
.pc-single-header .wp-block-post-terms { margin-bottom: 14px; color: var(--pc-leaf); font-size: .76rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pc-single-header .wp-block-post-terms a { color: inherit; text-decoration: none; }
.pc-single-header h1 { margin: 0 0 16px; font-size: clamp(2rem, 5vw, 4rem); }
.pc-single-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; color: var(--pc-muted); font-size: .9rem; }
.pc-single-featured { width: min(100%, 1040px); margin: 0 auto 36px !important; border-radius: 16px; overflow: hidden; background: var(--pc-soft); }
.pc-single-featured img { display: block; width: 100%; max-height: 620px; object-fit: cover; }
.pc-article-content { width: min(100%, 760px); margin-inline: auto; font-size: 1.05rem; line-height: 1.85; overflow-wrap: anywhere; }
.pc-article-content h2,
.pc-article-content h3 { margin-top: 1.8em; color: var(--pc-forest); font-family: Georgia, 'Times New Roman', serif; line-height: 1.2; }
.pc-article-content a { color: var(--pc-forest); text-underline-offset: 3px; }
.pc-article-content img { max-width: 100%; height: auto; border-radius: 10px; }
.pc-article-content .wp-block-image { margin-block: 1.8em; }
.pc-single-tags { width: min(100%, 760px); margin: 38px auto 0; padding-top: 22px; border-top: 1px solid var(--pc-line); color: var(--pc-muted); font-size: .9rem; }
.pc-single-tags a { color: var(--pc-forest); }

/* Páginas informativas */
.pc-page-main { padding: clamp(32px, 5vw, 62px) 24px 76px; }
.pc-page-hero { padding-bottom: 26px; border-bottom: 0; background: transparent; }
.pc-page-hero h1 { margin-bottom: 0; }
.pc-page-content { width: min(100%, 900px); margin-inline: auto; font-size: 1.03rem; line-height: 1.85; overflow-wrap: anywhere; }
.pc-page-content h2,
.pc-page-content h3 { color: var(--pc-forest); font-family: Georgia, 'Times New Roman', serif; line-height: 1.2; }
.pc-page-content img { max-width: 100%; height: auto; border-radius: 10px; }
.pc-page-content a { color: var(--pc-forest); text-underline-offset: 3px; }

/* Accesibilidad y pantallas pequeñas */
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid #8dbb4f; outline-offset: 3px; }
@media (max-width: 900px) {
  .wp-block-post-template.pc-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .pc-query { width: calc(100% - 36px); padding-top: 28px; padding-bottom: 54px; }
  .pc-card-body { padding: 17px 17px 19px; }
}
@media (max-width: 560px) {
  .pc-query { width: calc(100% - 32px) !important; max-width: 100%; }
  .pc-query .wp-block-query-no-results { padding: 0; }
  .pc-empty-state { padding: 22px 18px; }
  .wp-block-post-template.pc-post-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .pc-query { width: calc(100% - 32px); padding-top: 22px; }
  .pc-archive-hero, .pc-blog-hero, .pc-page-hero, .pc-404-hero { padding-inline: 16px; }
  .pc-search-tools .wp-block-search__inside-wrapper { flex-direction: column; }
  .pc-search-tools .wp-block-search__button { width: 100%; justify-content: center; }
  .pc-single-main, .pc-page-main { padding-inline: 16px; }
  .pc-single-featured { border-radius: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
