/*
Theme Name: Insurgente
Theme URI: https://oinsurgente.pt
Author: O Insurgente
Description: Tema de blocos monocromático para oinsurgente.pt, plataforma independente de opinião, análise e debate, sem periodicidade fixa.
Version: 1.1.0
Requires at least: 6.6
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: insurgente
Tags: block-patterns, full-site-editing, news, blog, accessibility-ready, black, white
*/

:root { --ins-black:#050505; --ins-white:#fff; --ins-cream:#f5f1e8; --ins-line:#d7d2c8; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; }
a { text-underline-offset: .2em; text-decoration-thickness: 1px; }
:focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }
.insurgente-skip-link { position:absolute; left:-9999px; top:auto; }
.insurgente-skip-link:focus { left:16px; top:16px; z-index:9999; padding:12px 16px; background:#fff; color:#000; }
.insurgente-brand-mark { display:inline-block; width:44px; height:44px; background:currentColor; -webkit-mask:url(./assets/images/logo-mark.svg) center/contain no-repeat; mask:url(./assets/images/logo-mark.svg) center/contain no-repeat; }
.insurgente-masthead { letter-spacing:-.045em; line-height:.86; }
.insurgente-kicker { letter-spacing:.28em; text-transform:uppercase; font-weight:700; }
.insurgente-rule { border-top:2px solid currentColor; position:relative; }
.insurgente-rule::after { content:""; position:absolute; right:0; top:-5px; width:8px; height:8px; border-radius:50%; background:currentColor; }
.insurgente-hero { position:relative; overflow:hidden; }
.insurgente-hero::after { content:""; position:absolute; width:55%; height:150%; right:-8%; top:5%; background:#000; transform:rotate(-18deg); z-index:0; }
.insurgente-hero > .wp-block-group { position:relative; z-index:1; }
.insurgente-hero-symbol { position:relative; z-index:2; filter:none; }
.insurgente-card { height:100%; border-top:1px solid var(--ins-line); padding-top:1.15rem; transition:transform .18s ease; }
.insurgente-card:hover { transform:translateY(-3px); }
.insurgente-card img { filter:grayscale(1) contrast(1.15); }
.insurgente-meta { text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; font-weight:700; }
.insurgente-button .wp-block-button__link { border:2px solid #000; transition:background .18s,color .18s; }
.insurgente-button .wp-block-button__link:hover { background:#fff !important; color:#000 !important; }
.insurgente-values .wp-block-column:not(:last-child) { border-right:1px solid var(--ins-line); padding-right:2rem; }
.insurgente-value-icon { width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:#000; color:#fff; font-size:1.35rem; font-weight:900; }
.insurgente-quote { font-size:clamp(2rem,4vw,4.5rem); line-height:.9; }
.insurgente-form label { display:block; font-weight:700; margin:0 0 .35rem; }
.insurgente-form input, .insurgente-form textarea, .insurgente-form select { width:100%; padding:.85rem 1rem; border:2px solid #000; border-radius:0; background:#fff; color:#000; font:inherit; }
.insurgente-form textarea { min-height:220px; resize:vertical; }
.insurgente-form button { appearance:none; border:2px solid #000; background:#000; color:#fff; padding:.9rem 1.3rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.insurgente-form button:hover { background:#fff; color:#000; }
.insurgente-notice { border:2px solid currentColor; padding:1rem; margin:1rem 0; font-weight:700; }
.wp-block-post-title a { text-decoration:none; }
.wp-block-post-title a:hover { text-decoration:underline; }
.wp-block-navigation__responsive-container.is-menu-open { background:#000; color:#fff; padding:1.5rem; }
.wp-block-search__button { border-radius:0; }
@media (max-width: 900px) {
  .insurgente-values .wp-block-column:not(:last-child) { border-right:0; border-bottom:1px solid var(--ins-line); padding:0 0 1.5rem; }
  .insurgente-hero::after { width:90%; right:-45%; opacity:.08; }
  .insurgente-hero-symbol { max-width:380px !important; margin-inline:auto; }
}
@media (max-width: 600px) {
  .insurgente-brand-mark { width:34px; height:34px; }
  .insurgente-kicker { letter-spacing:.16em; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior:auto !important; transition:none !important; } }
