/*
Theme Name: Falcon Martin
Theme URI: https://eluniversodefalcon.com
Author: Falcon Martin
Description: Tema editorial para el sitio personal de Falcon Martin. Integra bitácora de autor, promoción virtual de El legado de Pedrarias y enlaces hacia El Universo de Falcon.
Version: 1.1.1
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: falcon-martin
*/

:root { --ink:#181713; --paper:#f7f2e8; --paper-deep:#eae0cd; --forest:#203b35; --forest-dark:#132824; --rust:#8a3d28; --gold:#b88b46; --muted:#6b655c; --line:rgba(24,23,19,.18); --max:1160px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Georgia,"Times New Roman",serif; font-size:18px; line-height:1.72; }
a { color:var(--rust); text-underline-offset:.18em; }
a:hover { color:#572215; }
img { display:block; max-width:100%; height:auto; }
.wrap { width:min(calc(100% - 2rem),var(--max)); margin-inline:auto; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.staging-banner { padding:.4rem 1rem; color:#fff; background:var(--rust); font-family:system-ui,sans-serif; font-size:.75rem; font-weight:700; letter-spacing:.08em; text-align:center; text-transform:uppercase; }

.site-header { position:sticky; top:0; z-index:20; color:#fff; background:rgba(19,40,36,.97); border-bottom:3px solid var(--gold); }
.header-inner { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.brand { display:flex; align-items:center; gap:.85rem; color:#fff; text-decoration:none; }
.brand-mark { display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--gold); border-radius:50%; color:var(--gold); font-weight:700; letter-spacing:.05em; }
.brand-copy strong { display:block; font-size:1.12rem; letter-spacing:.035em; }
.brand-copy small { display:block; color:#dfcfab; font-family:system-ui,sans-serif; font-size:.7rem; letter-spacing:.13em; text-transform:uppercase; }
.custom-logo,.brand-logo { max-height:56px; width:auto; }
.menu-toggle { display:none; padding:.6rem .8rem; color:#fff; background:transparent; border:1px solid rgba(255,255,255,.35); border-radius:3px; }
.primary-menu,.primary-menu ul { list-style:none; margin:0; padding:0; }
.primary-menu { display:flex; align-items:center; gap:1.1rem; font-family:system-ui,sans-serif; font-size:.86rem; }
.primary-menu a { color:#fff; text-decoration:none; }
.primary-menu a:hover,.primary-menu .current-menu-item>a { color:#f1d497; }
.primary-menu .menu-item-has-children { position:relative; }
.primary-menu .sub-menu { display:none; position:absolute; top:100%; right:0; min-width:220px; padding:.65rem; background:var(--forest-dark); box-shadow:0 12px 30px rgba(0,0,0,.25); }
.primary-menu .menu-item-has-children:hover .sub-menu,.primary-menu .menu-item-has-children:focus-within .sub-menu { display:grid; gap:.5rem; }

.book-hero { position:relative; overflow:hidden; color:#fff; background:linear-gradient(120deg,#0b1b1c 0%,#203b35 52%,#5f281f 135%); }
.book-hero::before { content:""; position:absolute; inset:0; opacity:.23; background:radial-gradient(circle at 78% 25%,#c99a3d,transparent 28%),linear-gradient(90deg,transparent,rgba(0,0,0,.28)); pointer-events:none; }
.book-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(280px,.72fr); align-items:center; gap:clamp(2rem,6vw,5.5rem); min-height:690px; padding-block:4.5rem; }
.book-hero-copy { max-width:720px; }
.book-hero h1 { max-width:760px; margin:0; color:#fff8e9; font-size:clamp(3.4rem,8vw,7rem); font-weight:500; letter-spacing:-.035em; text-wrap:balance; }
.book-tagline { margin:.9rem 0 0; color:#e9c780; font-size:clamp(1.15rem,2vw,1.55rem); font-style:italic; }
.eyebrow { margin:0 0 .65rem; color:var(--gold); font-family:system-ui,sans-serif; font-size:.75rem; font-weight:750; letter-spacing:.15em; text-transform:uppercase; }
h1,h2,h3 { line-height:1.16; }
.hero-lead { max-width:690px; margin:1.2rem 0 1.8rem; color:#eee7dc; font-size:1.18rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.45rem; }
.button { display:inline-block; margin:.2rem .35rem .2rem 0; padding:.78rem 1.08rem; color:#fff; background:var(--rust); border:1px solid var(--rust); border-radius:2px; font-family:system-ui,sans-serif; font-size:.87rem; font-weight:700; text-decoration:none; }
.button:hover { color:#fff; background:#642919; }
.button.alt { color:var(--ink); background:var(--gold); border-color:var(--gold); }
.button.whatsapp { color:#fff; background:#176b4b; border-color:#2ca56f; }
.button.whatsapp:hover { background:#10563c; }
.whatsapp-notice { margin:1rem 0 0; color:#d8d0c4; font-family:system-ui,sans-serif; font-size:.82rem; font-style:italic; }
.featured-cover { width:min(100%,410px); margin:0 auto; padding:.85rem; background:rgba(247,242,232,.08); border:1px solid rgba(255,255,255,.22); box-shadow:0 30px 70px rgba(0,0,0,.38); transform:rotate(1.2deg); }
.featured-cover img { width:100%; aspect-ratio:2/3; object-fit:cover; }
.featured-cover figcaption { padding:.75rem .35rem 0; color:#d9cfbe; font-family:system-ui,sans-serif; font-size:.72rem; letter-spacing:.06em; text-align:center; text-transform:uppercase; }

.section { padding-block:4.2rem; }
.section.alt { background:var(--paper-deep); }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin-bottom:1.6rem; border-bottom:1px solid var(--line); }
.section-heading h1,.section-heading h2 { margin:0 0 .75rem; font-size:clamp(1.9rem,4vw,2.8rem); font-weight:500; }
.section-heading a { margin-bottom:.9rem; font-family:system-ui,sans-serif; font-size:.82rem; font-weight:700; }
.card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.card { display:flex; flex-direction:column; min-height:100%; background:rgba(255,255,255,.52); border:1px solid var(--line); }
.card-image { aspect-ratio:16/9; overflow:hidden; background:#d7ccba; }
.card-image img { width:100%; height:100%; object-fit:cover; }
.card-body { flex:1; padding:1.25rem; }
.card h3 { margin:.3rem 0 .65rem; font-size:1.34rem; }
.card h3 a { color:var(--ink); text-decoration:none; }
.card p { margin:0; color:#4a453e; font-size:.95rem; }
.meta { color:var(--muted); font-family:system-ui,sans-serif; font-size:.73rem; letter-spacing:.04em; text-transform:uppercase; }

.author-note { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
.author-note h2 { margin:0 0 .8rem; font-size:clamp(2rem,4vw,3rem); font-weight:500; }
.author-note blockquote { margin:0; padding:1.5rem; background:rgba(255,255,255,.55); border-left:4px solid var(--gold); font-size:1.12rem; }
.author-note cite { display:block; margin-top:.8rem; color:var(--muted); font-family:system-ui,sans-serif; font-size:.78rem; font-style:normal; }

.photo-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.9rem; }
.photo-card { position:relative; min-height:260px; overflow:hidden; background:var(--forest-dark); }
.photo-card img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.photo-card:hover img { transform:scale(1.025); }
.photo-card-copy { position:absolute; inset:auto 0 0; padding:1.2rem 1rem .9rem; color:#fff; background:linear-gradient(transparent,rgba(0,0,0,.88)); }
.photo-card-copy h3 { margin:.2rem 0 0; font-size:1rem; }
.photo-card-copy a { color:#fff; text-decoration:none; }
.photo-placeholder { display:grid; place-items:center; min-height:260px; padding:1rem; color:#dfcfab; text-align:center; }

.content-shell { display:grid; grid-template-columns:minmax(0,760px) 280px; gap:3.5rem; padding-block:4rem; }
.entry-header h1 { margin:.35rem 0 1rem; font-size:clamp(2.3rem,5vw,4rem); font-weight:500; }
.entry-content { font-size:1.08rem; }
.entry-content>* { max-width:720px; }
.entry-content h2 { margin-top:2.3rem; }
.entry-content blockquote { margin:2rem 0; padding:1rem 1.5rem; border-left:4px solid var(--gold); background:rgba(255,255,255,.5); font-size:1.2rem; }
.entry-content .wp-block-gallery { max-width:none; }
.entry-taxonomy { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:2rem; }
.entry-taxonomy a { padding:.25rem .55rem; border:1px solid var(--line); font-family:system-ui,sans-serif; font-size:.75rem; text-decoration:none; }
.related-nav { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-block:2.5rem; }
.related-nav a { display:block; padding:1rem; background:rgba(255,255,255,.5); border:1px solid var(--line); text-decoration:none; }
.sidebar-box { padding:1.25rem; margin-bottom:1rem; background:rgba(255,255,255,.5); border-top:3px solid var(--gold); }
.sidebar-box h2 { margin-top:0; font-size:1.18rem; }
.contact-panel { margin-top:2rem; padding:1.4rem; background:rgba(255,255,255,.58); border-left:4px solid var(--gold); }
.contact-panel h2 { margin-top:0; }
.contact-panel .button-whatsapp { color:#fff; background:#176b4b; border-color:#2ca56f; }
.contact-panel .button-whatsapp:hover { background:#10563c; }
.contact-email { overflow-wrap:anywhere; }

.comments-area { margin-top:3rem; padding-top:2rem; border-top:1px solid var(--line); }
.debate-notice { padding:1rem 1.15rem; background:#efe5d1; border-left:4px solid var(--gold); font-family:system-ui,sans-serif; font-size:.86rem; }
.comment-list { list-style:none; padding:0; }
.comment-body { margin:1rem 0; padding:1rem; background:rgba(255,255,255,.55); border:1px solid var(--line); }
.comment-meta { font-family:system-ui,sans-serif; font-size:.78rem; }
.comment-form label { display:block; font-family:system-ui,sans-serif; font-size:.82rem; font-weight:700; }
.comment-form input:not([type="submit"]),.comment-form textarea { width:100%; padding:.75rem; border:1px solid var(--line); background:#fff; font:inherit; }
.comment-form input[type="submit"] { padding:.8rem 1rem; color:#fff; background:var(--rust); border:0; cursor:pointer; }
.notice { padding:.9rem 1rem; background:#fff3d4; border-left:4px solid var(--gold); font-family:system-ui,sans-serif; font-size:.86rem; }

.universe-band { color:#fff; background:var(--rust); }
.universe-grid { display:grid; grid-template-columns:1fr auto; align-items:center; gap:2rem; padding-block:3rem; }
.universe-grid h2 { margin:0 0 .5rem; font-size:2rem; }
.universe-grid p { margin:0; }
.site-footer { color:#ded8ce; background:#10201d; }
.footer-grid { display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:2rem; padding-block:3rem; }
.site-footer h2 { color:#fff; font-size:1rem; }
.site-footer ul { list-style:none; padding:0; }
.site-footer a { color:#ddc894; }
.footer-bottom { padding-block:1rem; border-top:1px solid rgba(255,255,255,.12); font-family:system-ui,sans-serif; font-size:.74rem; text-align:center; }

@media (max-width:920px) {
  .menu-toggle { display:inline-block; }
  .site-nav { display:none; position:absolute; inset:82px 0 auto 0; padding:1rem; background:var(--forest-dark); }
  .site-nav.open { display:block; }
  .primary-menu { align-items:stretch; flex-direction:column; }
  .primary-menu .sub-menu { display:grid; position:static; padding-left:1rem; box-shadow:none; }
  .book-hero-grid,.author-note,.content-shell { grid-template-columns:1fr; }
  .book-hero-grid { min-height:auto; }
  .book-hero-copy { text-align:center; margin-inline:auto; }
  .hero-actions { justify-content:center; }
  .card-grid { grid-template-columns:1fr 1fr; }
  .photo-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:620px) {
  body { font-size:17px; }
  .brand-copy small { display:none; }
  .book-hero-grid { padding-block:3.6rem; }
  .book-hero h1 { font-size:clamp(3rem,16vw,4.7rem); }
  .card-grid,.photo-grid,.footer-grid,.universe-grid { grid-template-columns:1fr; }
  .related-nav { grid-template-columns:1fr; }
}
