/* =========================================================
   Integración con GeneratePress + componentes de plantillas
   ========================================================= */

/* Títulos de las plantillas con la tipografía de la propuesta */
:root { --serif: var(--font); }
.prose h2, .prose h3, .adjacent-link strong { letter-spacing: -.035em; }

/* --- Contenedores de GP a ancho completo, sin fondos ni paddings --- */
body.omr-design { background: var(--bg); color: var(--ink); }
.omr-design .site.grid-container,
.omr-design .site-content,
.omr-design .site-footer,
.omr-design .inside-site-info { max-width: none; width: auto; padding: 0; margin: 0; background: transparent; display: block; }
.omr-design .site-footer { border: 0; }
.omr-design #page { padding: 0; }
.omr-design .content-area, .omr-design .site-main { width: 100%; float: none; margin: 0 !important; }
.omr-design .inside-article { padding: 0; background: transparent; }
.omr-design .entry-content:not(:first-child) { margin-top: 0; }
.omr-design .entry-content > * { margin-block: 0; }
.omr-design .is-layout-flow > *, .omr-design .is-layout-constrained > * { margin-block-start: 0; margin-block-end: 0; }
.omr-design .is-layout-constrained > * { max-width: none; }
.omr-design .wp-block-group { box-sizing: border-box; }
.omr-design .slideout-navigation, .omr-design #generate-slideout-menu, .omr-design .generate-back-to-top { display: none !important; }
.omr-design a { color: inherit; }
.omr-design h1, .omr-design h2, .omr-design h3, .omr-design h4 { color: var(--ink); }
.omr-design .nav-cell.is-current .corner { border-color: var(--bg); }
.omr-design .footer-bottom a { text-decoration: underline; text-underline-offset: 3px; }
.omr-design .footer-bottom a:hover { color: var(--brand); }
.omr-main { display: block; }

/* --- Columna de lectura (páginas legales, entradas, descripciones) --- */
.prose-wrap { padding: 60px 24px 90px; }
.prose { max-width: 70ch; font-size: 18px; line-height: 1.6; color: var(--ink-2); }
.prose > * + * { margin-top: 1.05em; }
.prose h2, .prose h3, .prose h4 { font-family: var(--serif); color: var(--ink); line-height: 1.15; letter-spacing: -.015em; margin-top: 1.8em; }
.prose h2 { font-size: clamp(26px, 2.4vw, 34px); }
.prose h3 { font-size: clamp(21px, 1.8vw, 26px); }
.prose a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--brand); text-underline-offset: 3px; }
.prose a:hover { color: var(--brand); }
.prose strong { color: var(--ink); }
.prose ul, .prose ol { padding-left: 1.2em; }
.prose li + li { margin-top: .35em; }
.prose img { max-width: 100%; height: auto; display: block; }
.prose figure { margin: 2em 0; }
.prose figcaption { font-size: 13px; color: var(--muted); margin-top: 8px; }
.prose blockquote { margin: 1.6em 0; padding-left: 20px; border-left: 2px solid var(--brand); font-family: var(--serif); font-style: italic; font-size: 1.15em; color: var(--ink); }
.prose table { width: 100%; border-collapse: collapse; font-size: 15px; }
.prose th, .prose td { border-bottom: 1px solid var(--line); padding: 8px 6px; text-align: left; }

/* --- Ficha de proyecto --- */
.project-cover { margin: 0; border-bottom: 1px solid var(--line); background: var(--bg-2); }
.project-cover img { display: block; width: 100%; height: clamp(320px, 62vh, 720px); object-fit: cover; filter: grayscale(1) contrast(1.05); }
.post-cover img { height: clamp(260px, 50vh, 560px); }
.project-body { display: grid; grid-template-columns: 340px 1fr; border-bottom: 1px solid var(--line); }
.project-body .bio-facts { border-right: 1px solid var(--line); align-self: stretch; }
.project-body .prose { padding: 50px 40px 80px; max-width: none; }
.project-body .prose > * { max-width: 70ch; }
.project-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border-bottom: 1px solid var(--line); }
.gallery-item { display: block; background: var(--bg); overflow: hidden; }
.gallery-item img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; filter: grayscale(1); transition: filter .5s, transform .8s cubic-bezier(.2, .8, .2, 1); }
.gallery-item:hover img { filter: none; transform: scale(1.04); }
@media (max-width: 900px) {
  .project-body { grid-template-columns: 1fr; }
  .project-body .bio-facts { border-right: 0; border-bottom: 1px solid var(--line); }
  .project-body .prose { padding: 36px 16px 56px; }
  .project-gallery { grid-template-columns: 1fr 1fr; }
}

/* --- Anterior / siguiente --- */
.adjacent { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--line); }
.adjacent-link { display: flex; flex-direction: column; gap: 10px; padding: 22px 14px 30px; min-height: 120px; transition: background .3s, color .3s; }
.adjacent-link.is-next { text-align: right; border-left: 1px solid var(--line); align-items: flex-end; }
.adjacent-link .mono { color: var(--brand); }
.adjacent-link strong { font-family: var(--serif); font-weight: 600; font-size: clamp(20px, 2vw, 30px); line-height: 1.1; letter-spacing: -.02em; color: var(--ink); }
a.adjacent-link:hover { background: var(--ink); }
a.adjacent-link:hover strong { color: var(--bg); }

/* --- Blog: listado y paginación --- */
.blog-list { padding: 0; }
.blog-list .posts { border-top: 0; }
.omr-pagination { padding: 20px 14px; border-top: 1px solid var(--line); }
.omr-pagination .nav-links { display: flex; gap: 6px; font-family: var(--mono); }
.omr-pagination .page-numbers { display: grid; place-items: center; min-width: 40px; height: 40px; border: 1px solid var(--line); }
.omr-pagination .page-numbers.current, .omr-pagination a.page-numbers:hover { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.posts .post figure img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 760px) { .posts { grid-template-columns: 1fr; } }

/* --- Bloques de WordPress con las clases del diseño --- */
.omr-design .wp-block-image { margin: 0; }
.omr-design .sec-head .wp-block-heading { margin: 0; }
.omr-design .wp-block-shortcode { display: contents; }

/* Títulos largos (entradas, proyectos con nombre largo) */
.page-title.is-long { font-size: clamp(36px, 4.6vw, 72px); max-width: 22ch; line-height: 1.04; }

/* Banner de cookies (GDPR Cookie Compliance) con la estética del sitio */
.omr-design #moove_gdpr_cookie_info_bar { background: var(--ink) !important; border-top: 1px solid var(--brand); font-family: var(--font); }
.omr-design #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-content p,
.omr-design #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-content a { color: var(--bg) !important; font-family: var(--font) !important; }
.omr-design #moove_gdpr_cookie_info_bar .mgbutton,
.omr-design #moove_gdpr_cookie_info_bar button.change-settings-button { border-radius: 0 !important; font-family: var(--mono) !important; text-transform: uppercase; letter-spacing: .1em; font-size: 12px !important; }
.omr-design #moove_gdpr_cookie_info_bar .moove-gdpr-infobar-allow-all { background: var(--brand) !important; color: #fff !important; border-color: var(--brand) !important; }
.omr-design #moove_gdpr_cookie_info_bar .moove-gdpr-infobar-reject-btn { background: transparent !important; color: var(--bg) !important; border: 1px solid var(--bg) !important; }
.omr-design #moove_gdpr_cookie_modal .moove-gdpr-modal-content { border-radius: 0; font-family: var(--font); }
.omr-design #moove_gdpr_cookie_modal .mgbutton { border-radius: 0 !important; background: var(--brand) !important; }

/* Mapa de Contacto */
.map-band { border-bottom: 1px solid var(--line); }
.map-band iframe, .map-band .kb-google-maps-container { display: block; width: 100%; filter: grayscale(1) contrast(1.05); }

/* Tema clásico (sin theme.json): WordPress envuelve el interior de cada grupo en
   .wp-block-group__inner-container; lo hacemos transparente para que rejillas y flex funcionen. */
.omr-design .wp-block-group__inner-container { display: contents; }

/* Móvil: titulares que nunca se salen de la pantalla */
@media (max-width: 760px) {
  .page-title, .page-title.is-long { font-size: clamp(36px, 10.5vw, 56px); overflow-wrap: anywhere; hyphens: auto; }
  .hero-title { font-size: clamp(28px, 8vw, 40px); }
  .cta-title { font-size: clamp(36px, 11vw, 60px); overflow-wrap: anywhere; }
  .adjacent { grid-template-columns: 1fr; }
  .adjacent-link.is-next { border-left: 0; border-top: 1px solid var(--line); }
}

/* GeneratePress asigna sus propias fuentes (Lora en h1/h2, Alegreya en body);
   las anulamos para usar siempre la tipografía de la propuesta. */
body.omr-design,
.omr-design h1, .omr-design h2, .omr-design h3, .omr-design h4, .omr-design h5, .omr-design h6,
.omr-design button, .omr-design input, .omr-design select, .omr-design textarea,
.omr-design .main-title, .omr-design .site-description { font-family: var(--font); }
.omr-design .mono, .omr-design .mono * { font-family: var(--mono); }
