/*
Theme Name: Pau i au — Canal Poètic
Theme URI: https://pauiau.cat/
Author: Pau i au
Description: Tema monoespai per al web de Pau i au: obres, agenda, quadern, escena i arxiu viu.
Version: 1.1.1
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: pauiau
*/

:root{--ink:#111;--paper:#fff;--soft:#f5f5f5;--line:2px;--frame:760px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:20px;line-height:1.45;letter-spacing:.03em}
a{color:inherit;text-decoration:underline;text-underline-offset:.14em}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid currentColor;outline-offset:3px}
img{max-width:100%;height:auto}
.wrap{min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:24px}
.wrap--home{align-items:center}
.frame{width:var(--frame);max-width:100%;border:var(--line) solid #000;padding:24px;background:#fff}
.site-title{font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.site-title a{text-decoration:none}
.status{font-size:16px;opacity:.7;text-transform:uppercase}
.rule{height:2px;background:#000;margin:12px 0 18px}
.screen{white-space:pre-wrap;min-height:360px}
.screen--auto{min-height:0;white-space:normal}
.cursor{animation:blink 1s steps(1,end) infinite}
@keyframes blink{50%{opacity:0}}

.terminal-menu{margin:0;padding:0;list-style:none}
.terminal-menu li{margin:.35rem 0}
.terminal-menu a{text-decoration:underline}
.boot-action{display:inline-block;margin-top:1rem;border:2px solid #000;background:#fff;color:#000;padding:.55rem .75rem;font:inherit;cursor:pointer;text-transform:uppercase}
.boot-action:hover{background:#000;color:#fff}

.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.card{border:2px solid #000;padding:16px;text-decoration:none;color:#000;display:block;overflow-wrap:anywhere}
.card:hover,.card:focus-visible{background:#000;color:#fff}
.card__num{display:block;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.card__name{display:block;margin-top:6px;text-transform:uppercase}
.card__desc{display:block;margin-top:10px;font-size:16px;opacity:.8}
.card__meta{display:block;margin-top:10px;font-size:14px;opacity:.65;text-transform:uppercase}

.entry-title{font-size:1.15em;line-height:1.25;text-transform:uppercase;margin:0 0 8px;overflow-wrap:anywhere}
.entry-meta{font-size:15px;opacity:.65;margin-bottom:18px;text-transform:uppercase}
.entry-content{overflow-wrap:anywhere}
.entry-content > *:first-child{margin-top:0}
.entry-content > *:last-child{margin-bottom:0}
.entry-content h2,.entry-content h3{font-size:1em;text-transform:uppercase;margin-top:2rem}
.entry-content blockquote{margin:1.5rem 0;padding-left:1rem;border-left:2px solid #000}
.entry-content iframe{width:100%;max-width:100%;border:2px solid #000;min-height:420px}
.entry-content pre{white-space:pre-wrap;overflow-wrap:anywhere}
.entry-content .wp-block-button__link,.action-link{display:inline-block;border:2px solid #000;border-radius:0;background:#fff;color:#000;padding:.65rem .9rem;text-decoration:none;font:inherit;text-transform:uppercase}
.entry-content .wp-block-button__link:hover,.action-link:hover{background:#000;color:#fff}

.signal{border:2px dashed #000;padding:8px;margin-bottom:18px}
.signal img{width:100%;display:block;filter:grayscale(100%) contrast(120%)}
.signal-label{font-size:14px;opacity:.6;margin-top:6px;letter-spacing:.1em;text-transform:uppercase}
.work-data{border:2px solid #000;padding:16px;margin:0 0 18px}
.work-data p{margin:.25rem 0}
.back{margin-top:24px;display:block}
.posts-list{display:grid;gap:16px}
.pagination{margin-top:24px;font-size:16px}
.pagination .nav-links{display:flex;gap:12px;flex-wrap:wrap}
.site-footer{margin-top:28px;padding-top:14px;border-top:2px solid #000;font-size:14px;opacity:.7}

input[type=text],input[type=email],input[type=url],textarea{width:100%;border:2px solid #000;border-radius:0;padding:.65rem;background:#fff;color:#000;font:inherit}
button,input[type=submit]{border:2px solid #000;border-radius:0;background:#fff;color:#000;padding:.6rem .85rem;font:inherit;cursor:pointer}
button:hover,input[type=submit]:hover{background:#000;color:#fff}

.admin-bar .wrap{min-height:calc(100vh - 32px)}
@media(max-width:782px){.admin-bar .wrap{min-height:calc(100vh - 46px)}}
@media(max-width:640px){body{font-size:17px}.wrap{padding:12px}.frame{padding:18px}.grid{grid-template-columns:1fr}.screen{min-height:320px}.entry-content iframe{min-height:60vh}}
@media(prefers-reduced-motion:reduce){.cursor{animation:none}.boot-typing{display:none!important}}

/* Arquitectura del corpus */
.terminal-random,.terminal-menu__random a{font-weight:700}
.work-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.work-filters__label{display:block;width:100%;font-size:14px;opacity:.65;letter-spacing:.1em;text-transform:uppercase}
.work-filter{padding:.35rem .55rem;font-size:14px;text-transform:uppercase}
.work-filter.is-active{background:#000;color:#fff}
.card[hidden]{display:none}
.filter-empty{border:2px dashed #000;padding:16px}

/* Agenda */
.agenda-section{margin-top:28px}
.agenda-section h2{font-size:1em;margin:0 0 10px;text-transform:uppercase}
.agenda-item{border-top:2px solid #000;opacity:var(--event-opacity,1)}
.agenda-item:last-child{border-bottom:2px solid #000}
.agenda-item a{display:grid;grid-template-columns:minmax(145px,.8fr) minmax(0,1.5fr);gap:4px 18px;padding:14px 0;text-decoration:none}
.agenda-item a:hover .agenda-title,.agenda-item a:focus-visible .agenda-title{text-decoration:underline}
.agenda-date{font-size:15px;grid-row:1 / span 2}
.agenda-title{font-weight:700;text-transform:uppercase;overflow-wrap:anywhere}
.agenda-meta{font-size:14px;opacity:.65;text-transform:uppercase}
.agenda-item--past{filter:grayscale(100%)}

@media(max-width:640px){
  .work-filters{align-items:stretch}
  .work-filter{flex:1 1 auto}
  .agenda-item a{grid-template-columns:1fr;gap:5px}
  .agenda-date{grid-row:auto}
}

/* Mode manteniment */
.maintenance-frame{max-width:760px}
.maintenance-screen{min-height:300px;display:flex;flex-direction:column;justify-content:center}
.maintenance-message{font-size:1.05em;text-transform:uppercase;margin:0 0 2.5rem}
.maintenance-date{margin:0 0 1.25rem;text-transform:uppercase}
.maintenance-note{margin:0;font-size:16px;opacity:.7;text-transform:uppercase}
