/*
Theme Name: La Galería de Orfeo
Theme URI: https://galeria.eltallerdeorfeo.com
Author: Carlos Bravo
Description: Tema propio para una galería viva de ilustración digital y Cuaderno de Orfeo.
Version: 1.1.5
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: galeria-orfeo
*/

:root { --ink:#090b18; --ink-soft:#10152a; --paper:#f0eadf; --muted:#a9afc2; --line:rgba(240,234,223,.16); --violet:#a86cf4; --cyan:#55d8e7; --gold:#e7b566; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:var(--paper); font-family:Arial,Helvetica,sans-serif; }
body.admin-bar .topbar { top:32px; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
img { height:auto; max-width:100%; }
.site-shell { min-height:100vh; overflow:hidden; background:radial-gradient(circle at 80% 0%,rgba(94,33,119,.25),transparent 33rem),var(--ink); }
.topbar { align-items:center; backdrop-filter:blur(16px); background:rgba(9,11,24,.88); border-bottom:1px solid var(--line); display:flex; gap:2rem; justify-content:space-between; margin:0 auto; max-width:1320px; padding:1.25rem 2.4rem; position:sticky; top:0; z-index:20; }
.wordmark { align-items:center; display:flex; gap:.7rem; letter-spacing:.12em; }
.wordmark-mark { align-items:center; border:1px solid var(--gold); border-radius:50%; color:var(--gold); display:grid; font-family:Georgia,serif; font-size:1.35rem; height:2.2rem; justify-content:center; letter-spacing:0; width:2.2rem; }
.wordmark strong,.wordmark em { display:block; font-size:.78rem; font-style:normal; line-height:1.1; }
.wordmark em { color:var(--gold); font-size:.58rem; margin-top:.2rem; }
.main-nav { display:flex; gap:1.35rem; margin-left:auto; }
.main-nav a,.text-link { color:var(--muted); font-size:.82rem; transition:color .2s ease; }
.main-nav a:hover,.text-link:hover { color:var(--paper); }
.language-switcher { align-items:center; color:var(--muted); display:flex; font-size:.66rem; gap:.35rem; letter-spacing:.08em; }
.language-switcher a { transition:color .2s ease; }
.language-switcher a:hover,.language-switcher a.active { color:var(--gold); }
.hero { display:grid; gap:4rem; grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr); margin:0 auto; max-width:1320px; padding:5.5rem 2.4rem 4rem; }
.hero-copy { align-self:center; max-width:550px; }
.eyebrow { color:var(--cyan); font-size:.68rem; font-weight:700; letter-spacing:.2em; margin:0 0 1rem; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1 { font-family:Georgia,"Times New Roman",serif; font-size:clamp(3.3rem,6.5vw,6.7rem); font-weight:400; letter-spacing:-.055em; line-height:.92; margin-bottom:1.7rem; }
h2 { font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.5rem,5vw,5rem); font-weight:400; letter-spacing:-.05em; line-height:.95; margin-bottom:0; }
.hero-intro { color:var(--muted); font-size:1.05rem; line-height:1.7; max-width:38rem; }
.hero-actions { align-items:center; display:flex; flex-wrap:wrap; gap:1.4rem; margin-top:2.3rem; }
.button { align-items:center; border-radius:999px; display:inline-flex; font-size:.78rem; font-weight:700; gap:1rem; padding:.9rem 1.2rem; transition:transform .2s ease,box-shadow .2s ease; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--paper); color:var(--ink); box-shadow:0 0 2rem rgba(240,234,223,.12); }
.hero-art { min-height:600px; position:relative; }
.hero-art::before { border:1px solid rgba(85,216,231,.35); content:""; inset:1.4rem -1.3rem -1.3rem 1.3rem; position:absolute; }
.hero-art img { height:100%; object-fit:cover; object-position:center; position:relative; width:100%; }
.hero-art-caption { align-items:center; background:rgba(9,11,24,.82); bottom:1rem; display:flex; font-size:.68rem; gap:1rem; left:1rem; letter-spacing:.11em; padding:.8rem 1rem; position:absolute; text-transform:uppercase; }
.hero-art-caption span:first-child { color:var(--gold); }
.brand-ribbon { margin:0 auto; max-width:1320px; padding:0 2.4rem 5rem; }
.brand-ribbon img { display:block; filter:saturate(.9); height:auto; max-height:none; object-fit:contain; object-position:center; opacity:.9; width:100%; }
.archive-section { margin:0 auto; max-width:1320px; padding:1rem 2.4rem 7rem; }
.section-heading { align-items:end; display:flex; gap:2rem; justify-content:space-between; margin-bottom:2rem; }
.section-note { color:var(--muted); font-size:.9rem; line-height:1.6; max-width:18rem; }
.filter-row { border-bottom:1px solid var(--line); display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:2.2rem; padding-bottom:1rem; }
.filter-button { background:transparent; border:1px solid transparent; border-radius:999px; color:var(--muted); cursor:pointer; font-size:.74rem; padding:.55rem .85rem; }
.filter-button:hover,.filter-button.active { border-color:rgba(85,216,231,.5); color:var(--paper); }
.filter-button.active { background:rgba(85,216,231,.09); }
.art-grid { display:grid; gap:2.4rem 1.4rem; grid-template-columns:repeat(12,1fr); }
.art-card { grid-column:span 4; }
.art-card[hidden] { display:none; }
.art-card-featured { grid-column:span 6; }
.art-image-wrap { aspect-ratio:4/5; background:var(--ink-soft); display:block; overflow:hidden; position:relative; }
.art-card-featured .art-image-wrap { aspect-ratio:4/5.4; }
.art-image-wrap img { height:100%; object-fit:cover; transition:transform .5s ease; width:100%; }
.art-card[data-work-category="carteles"] .art-image-wrap img { object-fit:contain; }
.art-card:hover .art-image-wrap img { transform:scale(1.035); }
.art-category { background:rgba(9,11,24,.76); bottom:.8rem; color:var(--cyan); font-size:.62rem; left:.8rem; letter-spacing:.13em; padding:.45rem .55rem; position:absolute; text-transform:uppercase; }
.art-card-copy { padding:.9rem .15rem 0; }
.art-card h3 { font-family:Georgia,"Times New Roman",serif; font-size:1.35rem; font-weight:400; margin-bottom:.35rem; }
.art-card p { color:var(--muted); font-size:.8rem; line-height:1.55; margin-bottom:0; max-width:26rem; }
.empty-note { color:var(--muted); grid-column:1/-1; }
.journal-section { margin:0 auto; max-width:1320px; padding:0 2.4rem 7rem; }
.journal-grid { display:grid; gap:1.4rem; grid-template-columns:repeat(3,1fr); }
.journal-preview { align-items:center; background:linear-gradient(115deg,rgba(85,216,231,.08),rgba(168,108,244,.09)); border:1px solid var(--line); display:grid; gap:2rem; grid-column:1/-1; grid-template-columns:auto 1fr auto; padding:2.4rem; }
.journal-number { color:var(--gold); font-family:Georgia,serif; font-size:3rem; }
.journal-kicker { color:var(--cyan); font-size:.65rem; font-weight:700; letter-spacing:.16em; margin-bottom:.6rem; text-transform:uppercase; }
.journal-preview h3,.journal-card h3 { font-family:Georgia,serif; font-size:clamp(1.6rem,3vw,2.6rem); font-weight:400; margin-bottom:.5rem; }
.journal-preview p:last-child,.journal-card>p { color:var(--muted); line-height:1.6; margin-bottom:1rem; }
.journal-status { border:1px solid rgba(231,181,102,.45); color:var(--gold); font-size:.6rem; letter-spacing:.15em; padding:.65rem .8rem; }
.journal-card { border:1px solid var(--line); padding:1rem; }
.journal-image { aspect-ratio:16/10; display:block; margin:-1rem -1rem 1rem; overflow:hidden; }
.journal-image img { height:100%; object-fit:cover; width:100%; }
.future-section { background:linear-gradient(110deg,#17234b,#462151 58%,#7c3f45); display:grid; gap:2rem; grid-template-columns:1fr 1fr; margin:0 auto; max-width:1320px; padding:5rem 2.4rem; }
.future-section .eyebrow { color:#f7d58c; }
.future-section h2 { max-width:30rem; }
.future-copy { align-self:end; max-width:29rem; }
.future-copy p { color:rgba(240,234,223,.82); line-height:1.7; }
.button-light { background:var(--paper); color:var(--ink); }
.author-section { display:grid; gap:4rem; grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr); margin:0 auto; max-width:1180px; padding:8rem 2.4rem 5rem; }
.author-portrait { align-self:start; position:sticky; top:6.5rem; }
.author-portrait::after { border:1px solid rgba(231,181,102,.4); content:""; inset:1.1rem -1.1rem -1.1rem 1.1rem; pointer-events:none; position:absolute; }
.author-portrait img { aspect-ratio:1/1; display:block; object-fit:cover; position:relative; width:100%; z-index:1; }
.author-portrait span { background:rgba(9,11,24,.86); bottom:1rem; color:var(--gold); font-size:.58rem; left:1rem; letter-spacing:.12em; padding:.6rem .7rem; position:absolute; z-index:2; }
.author-content h2 { margin-bottom:1.5rem; }
.author-lead { color:var(--paper); font-family:Georgia,serif; font-size:clamp(1.35rem,2.4vw,2rem); line-height:1.35; max-width:48rem; }
.audio-card { background:var(--ink-soft); border:1px solid var(--line); margin:2rem 0; padding:1rem; }
.audio-heading { align-items:center; display:flex; gap:.8rem; margin:0 0 .8rem .25rem; }
.audio-heading>span { align-items:center; border:1px solid rgba(85,216,231,.5); border-radius:50%; color:var(--cyan); display:grid; font-size:.7rem; height:2rem; justify-content:center; width:2rem; }
.audio-heading strong,.audio-heading small { display:block; }
.audio-heading strong { font-family:Georgia,serif; font-size:1rem; font-weight:400; }
.audio-heading small { color:var(--muted); font-size:.64rem; margin-top:.15rem; }
.audio-card iframe { display:block; }
.author-story { border-bottom:1px solid var(--line); border-top:1px solid var(--line); }
.author-story summary { align-items:center; color:var(--cyan); cursor:pointer; display:flex; font-size:.75rem; font-weight:700; justify-content:space-between; letter-spacing:.08em; list-style:none; padding:1.2rem 0; text-transform:uppercase; }
.author-story summary::-webkit-details-marker { display:none; }
.author-story[open] summary span { transform:rotate(180deg); }
.author-story summary span { transition:transform .2s ease; }
.author-story-text { columns:2; column-gap:2.4rem; padding:1rem 0 2rem; }
.author-story-text p { break-inside:avoid; color:var(--muted); font-family:Georgia,"Times New Roman",serif; font-size:1rem; line-height:1.65; }
.about-section { align-items:center; display:grid; gap:3rem; grid-template-columns:1fr 2fr; margin:0 auto; max-width:1000px; padding:7rem 2.4rem; }
.about-label { color:var(--gold); font-family:Georgia,serif; font-size:2rem; letter-spacing:.08em; line-height:1; }
.about-label span { color:var(--muted); font-family:Arial,sans-serif; font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; }
.about-copy { color:var(--muted); font-family:Georgia,serif; font-size:clamp(1.45rem,3vw,2.4rem); line-height:1.2; margin:0; }
.contact-section { border-top:1px solid var(--line); display:grid; gap:4rem; grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr); margin:0 auto; max-width:1320px; padding:7rem 2.4rem; }
.contact-heading h2 { margin-bottom:1.5rem; max-width:42rem; }
.contact-heading>p:last-child { color:var(--muted); line-height:1.7; max-width:35rem; }
.contact-links { border-top:1px solid var(--line); }
.contact-card { align-items:center; border-bottom:1px solid var(--line); display:grid; gap:1rem; grid-template-columns:7rem 1fr auto; padding:1.6rem .4rem; transition:background .2s ease,padding .2s ease; }
.contact-card:hover { background:rgba(85,216,231,.06); padding-left:1rem; padding-right:1rem; }
.contact-card-disabled { cursor:default; opacity:.72; }
.contact-card-disabled:hover { background:rgba(168,108,244,.08); padding-left:.4rem; padding-right:.4rem; }
.contact-card-primary { background:rgba(168,108,244,.08); }
.contact-card-label { color:var(--muted); font-size:.63rem; letter-spacing:.16em; text-transform:uppercase; }
.contact-card strong { font-family:Georgia,"Times New Roman",serif; font-size:clamp(1rem,2vw,1.45rem); font-weight:400; overflow-wrap:anywhere; }
.contact-card-primary strong { color:var(--cyan); }
.contact-arrow { color:var(--gold); font-size:1.2rem; }
.footer { border-top:1px solid var(--line); color:var(--muted); display:flex; font-size:.68rem; gap:1rem; justify-content:space-between; margin:0 auto; max-width:1320px; padding:1.4rem 2.4rem 2rem; }
.footer a { color:var(--cyan); }
.footer-links { display:flex; gap:1rem; }
.footer-links span { color:var(--muted); }
.content-page { margin:0 auto; max-width:960px; min-height:70vh; padding:6rem 2.4rem; }
.content-page h1 { font-size:clamp(2.8rem,6vw,5.5rem); }
.content-page .entry-meta { color:var(--cyan); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; }
.content-page .entry-image { margin:2rem 0; width:100%; }
.content-page .entry-content { color:var(--muted); font-family:Georgia,"Times New Roman",serif; font-size:1.12rem; line-height:1.8; }
.content-page .entry-content a { color:var(--cyan); text-decoration:underline; }
.legal-page { max-width:900px; }
.legal-page h1 { margin-top:2rem; }
.legal-page h2 { font-size:clamp(1.65rem,3vw,2.5rem); margin:3rem 0 1rem; }
.legal-page p { color:var(--muted); font-family:Georgia,"Times New Roman",serif; font-size:1.05rem; line-height:1.75; max-width:48rem; }
.legal-page .legal-note { border-left:2px solid var(--gold); color:var(--paper); padding-left:1rem; }
.legal-page .legal-pending { color:var(--gold); font-family:Arial,Helvetica,sans-serif; font-size:.82rem; letter-spacing:.03em; }
.back-link { color:var(--gold); display:inline-block; font-size:.72rem; letter-spacing:.1em; margin-top:3rem; text-transform:uppercase; }

@media (max-width:980px) {
  .main-nav { gap:.8rem; }
  .main-nav a { font-size:.72rem; }
}
@media (max-width:850px) {
  body.admin-bar .topbar { top:46px; }
  .topbar { flex-wrap:wrap; gap:1rem; padding:1rem 1.2rem; }
  .main-nav { display:flex; flex-basis:100%; gap:1.2rem; order:3; overflow-x:auto; padding:.25rem 0; scrollbar-width:none; }
  .language-switcher { margin-left:auto; }
  .main-nav::-webkit-scrollbar { display:none; }
  .hero { gap:3rem; grid-template-columns:1fr; padding:3.5rem 1.2rem 3rem; }
  .hero-art { min-height:480px; }
  .brand-ribbon,.archive-section { padding-left:1.2rem; padding-right:1.2rem; }
  .brand-ribbon { padding-bottom:3.5rem; }
  .section-heading { align-items:start; flex-direction:column; }
  .art-card,.art-card-featured { grid-column:span 6; }
  .journal-section { padding-left:1.2rem; padding-right:1.2rem; }
  .journal-grid { grid-template-columns:1fr; }
  .journal-preview { align-items:start; grid-template-columns:auto 1fr; padding:1.5rem; }
  .journal-status { grid-column:2; justify-self:start; }
  .future-section { grid-template-columns:1fr; padding:3.5rem 1.2rem; }
  .author-section { gap:3rem; grid-template-columns:1fr; padding:5rem 1.2rem 3rem; }
  .author-portrait { max-width:520px; position:relative; top:auto; }
  .about-section { grid-template-columns:1fr; padding:5rem 1.2rem; }
  .contact-section { gap:2.5rem; grid-template-columns:1fr; padding:5rem 1.2rem; }
  .footer { align-items:start; flex-direction:column; padding-left:1.2rem; padding-right:1.2rem; }
}
@media (max-width:520px) {
  h1 { font-size:3.4rem; }
  .hero-art { min-height:410px; }
  .art-card,.art-card-featured { grid-column:span 12; }
  .art-card-featured .art-image-wrap,.art-image-wrap { aspect-ratio:4/5; }
  .author-story-text { columns:1; }
  .journal-preview { grid-template-columns:1fr; }
  .journal-number,.journal-status { grid-column:1; }
  .contact-card { grid-template-columns:1fr auto; }
  .contact-card-label { grid-column:1/-1; }
}
