/* =================================================================
   PATRICINHA ESPERTA — DESIGN SYSTEM
   Manual de Marca 2026 · Identidade Visual Oficial
   ================================================================= */

:root{
	/* Paleta oficial */
	--pink-hot: #FF4682;
	--preto:    #0F0F0F;
	--creme:    #FDF8F0;
	--pink-soft:#FFB6C1;
	--amarelo-mostarda:#E6C81E;
	--amarelo-vibrante:#FFE600;
	--branco:   #FFFFFF;
	--cinza-sub:#777;

	/* Tokens semânticos */
	--bg:       var(--creme);
	--fg:       var(--preto);
	--accent:   var(--pink-hot);
	--mute:     #6b6b6b;
	--line:     rgba(15,15,15,.12);

	/* Fontes oficiais do manual */
	--font-display: 'Gloock', 'Playfair Display', 'Didot', Georgia, serif;
	--font-italic:  'DM Serif Display', 'Playfair Display', Georgia, serif;
	--font-mono:    'Space Mono', 'IBM Plex Mono', 'Courier New', monospace;
	--font-chunky:  'Bagel Fat One', 'Arial Black', sans-serif;
	--font-body:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

	/* Escala tipográfica */
	--fs-display-xl: clamp(3rem, 10vw, 8.5rem);
	--fs-display-lg: clamp(2.4rem, 7vw, 5.5rem);
	--fs-display-md: clamp(1.8rem, 4.5vw, 3.2rem);
	--fs-display-sm: clamp(1.4rem, 3vw, 2rem);

	--fs-body: 1.05rem;
	--fs-small: .82rem;
	--fs-label: .72rem;

	/* Espaçamentos */
	--sp-1: .5rem;
	--sp-2: 1rem;
	--sp-3: 1.5rem;
	--sp-4: 2rem;
	--sp-5: 3rem;
	--sp-6: 4.5rem;
	--sp-7: 6rem;
	--sp-8: 8rem;

	/* Raio */
	--r-sm: 6px;
	--r-md: 14px;
	--r-lg: 24px;

	/* Container */
	--container: 1200px;
	--container-wide: 1440px;
}

/* ================================================================
   RESET / BASE
   ================================================================ */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
	margin:0;
	background:var(--bg);
	color:var(--fg);
	font-family:var(--font-body);
	font-size:var(--fs-body);
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}
img,svg,video{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; transition:color .2s ease, opacity .2s ease, background .2s ease; }
a:hover{ color:var(--pink-hot); }
button{ font:inherit; cursor:pointer; }
ul{ margin:0; padding:0; list-style:none; }
p{ margin:0 0 1em; }

.screen-reader-text{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }
.skip-link{ position:absolute; left:-9999px; top:0; background:var(--preto); color:var(--creme); padding:.5rem 1rem; z-index:9999; }
.skip-link:focus{ left:1rem; }

.pe-container{ max-width:var(--container); margin:0 auto; padding:0 clamp(1rem, 4vw, 2.5rem); }

/* ================================================================
   TIPOGRAFIA DO SISTEMA — regras do manual
   Gloock CAIXA ALTA · DM Serif Italic caixa baixa · Mono labels · Bagel monograma
   ================================================================ */
.pe-display{
	font-family:var(--font-display);
	font-weight:400;
	text-transform:uppercase; /* MANUAL: Gloock SEMPRE caixa alta */
	letter-spacing:-.01em;
	line-height:.95;
	font-feature-settings:"kern","liga","ss01";
}
.pe-italic{
	font-family:var(--font-italic);
	font-style:italic;
	font-weight:400;
	text-transform:lowercase; /* MANUAL: italic sempre caixa baixa */
	color:var(--pink-hot);
	line-height:1;
}
.pe-mono{
	font-family:var(--font-mono);
	text-transform:uppercase;
	letter-spacing:.12em;
	font-size:var(--fs-label);
}
.pe-white{ color:var(--creme); }

/* SELO "— DESDE 2009 —" */
.pe-selo{
	display:inline-flex;
	align-items:center;
	gap:.6rem;
	font-family:var(--font-mono);
	text-transform:uppercase;
	letter-spacing:.18em;
	font-size:.72rem;
	color:var(--pink-hot);
}
.pe-selo--light{ color:var(--amarelo-mostarda); } /* fundo preto = amarelo mostarda, conforme manual */
.pe-selo--dark{ color:var(--preto); }
.pe-selo-dash{
	display:inline-block; width:2.2rem; height:1px; background:currentColor;
}

/* ================================================================
   LOGO (anatomia do manual)
   ================================================================ */
.pe-logo-link{ display:inline-block; }
.pe-logo{
	display:inline-flex;
	flex-direction:column;
	align-items:center;
	text-align:center;
	line-height:1;
	gap:.35em;
}
.pe-logo__selo{
	font-family:var(--font-mono);
	font-size:.55em;
	letter-spacing:.22em;
	color:var(--pink-hot);
	display:inline-flex; align-items:center; gap:.55em;
}
.pe-logo__selo::before, .pe-logo__selo::after{
	content:""; width:1.4em; height:1px; background:currentColor;
}
.pe-logo__nome{
	font-family:var(--font-display);
	font-weight:400;
	text-transform:uppercase;
	letter-spacing:-.01em;
	line-height:.95;
	color:var(--preto);
	font-size:1.9em;
}
.pe-logo__acento{
	font-family:var(--font-italic);
	font-style:italic;
	text-transform:lowercase;
	color:var(--pink-hot);
	font-size:1.35em;
	line-height:.9;
	margin-top:.05em;
}
.pe-logo__dominio{
	font-family:var(--font-mono);
	font-size:.42em;
	letter-spacing:.18em;
	color:var(--preto);
	margin-top:.8em;
}
/* tamanhos */
.pe-logo--sm{ font-size:14px; }
.pe-logo--md{ font-size:18px; }
.pe-logo--lg{ font-size:26px; }
.pe-logo--xl{ font-size:40px; }

/* variantes de fundo (cream default; preto muda cor do nome e domínio pra cream) */
.pe-logo--preto .pe-logo__nome,
.pe-logo--preto .pe-logo__dominio{ color:var(--creme); }
.pe-logo--preto .pe-logo__selo{ color:var(--amarelo-mostarda); }

.pe-logo--pink-soft .pe-logo__selo{ color:var(--pink-hot); }
.pe-logo--pink-soft .pe-logo__acento{ color:var(--creme); }

.pe-logo--amarelo .pe-logo__selo{ color:var(--pink-hot); }
.pe-logo--amarelo .pe-logo__nome{ color:var(--preto); }
.pe-logo--amarelo .pe-logo__acento{ color:var(--pink-hot); }

/* ================================================================
   MONOGRAMA PE* (Bagel Fat One + asterisco pink — obrigatório manual)
   ================================================================ */
.pe-monograma{
	display:inline-flex;
	align-items:flex-start;
	font-family:var(--font-chunky);
	color:var(--pink-hot);
	line-height:.85;
	text-transform:uppercase;
}
.pe-monograma__star{
	font-size:.55em;
	margin-left:.08em;
	font-family:var(--font-chunky);
}
.pe-monograma--sm{ font-size:1.6rem; }
.pe-monograma--md{ font-size:3rem; }
.pe-monograma--lg{ font-size:5rem; }

/* ================================================================
   TOPBAR (dark strip superior)
   ================================================================ */
.pe-topbar{
	background:var(--preto);
	color:var(--creme);
	padding:.55rem 0;
	font-family:var(--font-mono);
	font-size:.72rem;
	letter-spacing:.12em;
	text-transform:uppercase;
}
.pe-topbar__inner{
	display:flex; justify-content:space-between; align-items:center; gap:2rem;
}
.pe-topbar__tagline{ color:var(--creme); opacity:.85; }
.pe-topbar__menu{ display:flex; gap:1.6rem; }
.pe-topbar__menu a{ color:var(--creme); opacity:.85; }
.pe-topbar__menu a:hover{ color:var(--pink-hot); opacity:1; }
@media (max-width:768px){
	.pe-topbar__tagline{ display:none; }
	.pe-topbar__inner{ justify-content:center; }
}

/* ================================================================
   HEADER PRINCIPAL
   ================================================================ */
.pe-header{
	background:var(--creme);
	border-bottom:1px solid var(--line);
	position:sticky; top:0; z-index:50;
	backdrop-filter:saturate(1.1);
}
.pe-header__inner{
	display:grid;
	grid-template-columns:auto 1fr auto;
	align-items:center;
	padding:1.1rem 0 .8rem;
	gap:1rem;
}
.pe-header__brand{ grid-column:2; display:flex; justify-content:center; }
.pe-header__brand .pe-logo{ font-size:16px; }
.pe-header__actions{ grid-column:3; display:flex; gap:.5rem; justify-content:flex-end; }
.pe-search-toggle, .pe-burger{
	background:transparent; border:1px solid var(--line); border-radius:999px;
	width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center;
	color:var(--preto); transition:all .2s ease;
}
.pe-search-toggle:hover, .pe-burger:hover{ background:var(--preto); color:var(--creme); border-color:var(--preto); }
.pe-burger{ display:none; flex-direction:column; gap:3px; }
.pe-burger span{ width:18px; height:2px; background:currentColor; transition:transform .2s ease; }

.pe-nav{
	border-top:1px solid var(--line);
	background:var(--creme);
}
.pe-nav__menu{
	display:flex;
	justify-content:center;
	gap:clamp(1rem, 3vw, 2.5rem);
	font-family:var(--font-mono);
	text-transform:uppercase;
	letter-spacing:.18em;
	font-size:.75rem;
	padding:.9rem 0;
	overflow-x:auto;
}
.pe-nav__menu li{ white-space:nowrap; }
.pe-nav__menu a{ position:relative; padding:.25rem 0; }
.pe-nav__menu a::after{
	content:""; position:absolute; left:50%; right:50%; bottom:-3px; height:2px; background:var(--pink-hot); transition:left .25s, right .25s;
}
.pe-nav__menu a:hover::after, .pe-nav__menu .current-menu-item a::after{ left:0; right:0; }
.pe-nav__hot{
	background:var(--pink-hot); color:var(--creme);
	padding:.35rem .7rem;
}
.pe-nav__menu .pe-nav__hot:hover{ background:var(--preto); }

.pe-search-drawer{
	background:var(--preto); color:var(--creme); padding:1.5rem 0;
}
.pe-search-drawer:not([hidden]){ display:block; }

.pe-mobile-menu{
	position:fixed; inset:0; background:var(--preto); color:var(--creme); padding:6rem 2rem;
	z-index:40;
}
.pe-mobile-menu__list{ display:grid; gap:1rem; font-family:var(--font-display); font-size:2rem; text-transform:uppercase; }

@media (max-width:860px){
	.pe-burger{ display:inline-flex; }
	.pe-header__inner{ grid-template-columns:auto 1fr auto; }
	.pe-nav{ display:none; }
}

/* Form de busca */
.pe-searchform{
	display:flex; gap:.5rem; align-items:stretch; max-width:560px; margin:0 auto;
	background:var(--creme); border-radius:999px; padding:.35rem .35rem .35rem 1.2rem;
}
.pe-searchform input{
	flex:1; border:0; background:transparent; outline:0;
	font-family:var(--font-body); font-size:.95rem; color:var(--preto);
}
.pe-searchform button{
	width:42px; height:42px; border-radius:999px; border:0; background:var(--pink-hot); color:var(--creme);
	display:inline-flex; align-items:center; justify-content:center;
}
.pe-searchform button:hover{ background:var(--preto); }

/* ================================================================
   HERO MANIFESTO (home)
   ================================================================ */
.pe-hero-manifesto{
	background:var(--creme);
	padding:clamp(3rem, 8vw, 6rem) 0 clamp(2rem, 6vw, 4.5rem);
	text-align:center;
}
.pe-hero-manifesto .pe-selo{ margin-bottom:1.8rem; }
.pe-hero-manifesto__title{
	margin:0 0 1.5rem;
	display:flex; flex-direction:column; align-items:center; gap:.2em;
}
.pe-hero-manifesto__title .pe-display{
	font-size:var(--fs-display-xl);
}
.pe-hero-manifesto__title .pe-italic{
	font-size:clamp(2rem, 6vw, 5rem);
}
.pe-hero-manifesto__sub{
	max-width:640px; margin:0 auto 2rem; color:var(--preto); opacity:.78;
	font-size:clamp(1rem, 1.4vw, 1.18rem);
}
.pe-hero-manifesto__ctas{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

/* Botões */
.pe-btn{
	display:inline-flex; align-items:center; gap:.5rem;
	padding:.95rem 1.6rem; border-radius:999px;
	font-family:var(--font-mono); text-transform:uppercase; letter-spacing:.15em; font-size:.78rem;
	border:1px solid transparent; transition:all .22s ease;
	white-space:nowrap;
}
.pe-btn--pink{ background:var(--pink-hot); color:var(--creme); }
.pe-btn--pink:hover{ background:var(--preto); color:var(--creme); transform:translateY(-1px); }
.pe-btn--ghost{ background:transparent; color:var(--preto); border-color:var(--preto); }
.pe-btn--ghost:hover{ background:var(--preto); color:var(--creme); }
.pe-btn--outline{ background:transparent; color:var(--preto); border-color:var(--line); }
.pe-btn--outline:hover{ background:var(--preto); color:var(--creme); border-color:var(--preto); }

/* Tags editoriais */
.pe-tag{
	display:inline-block;
	background:var(--preto); color:var(--creme);
	font-family:var(--font-mono); font-size:.68rem; letter-spacing:.2em; text-transform:uppercase;
	padding:.35rem .7rem;
}
.pe-tag--pink{ background:var(--pink-hot); }
.pe-tag--amarelo{ background:var(--amarelo-vibrante); color:var(--preto); }

/* ================================================================
   FEATURED (hero + laterais)
   ================================================================ */
.pe-featured{ padding:clamp(2rem,5vw,4rem) 0; }
.pe-featured__grid{
	display:grid;
	grid-template-columns:2fr 1fr;
	gap:2rem;
}
.pe-featured__hero{ grid-row:span 2; }
.pe-featured__card{ background:transparent; }
.pe-featured__link{ display:block; color:inherit; }
.pe-featured__img{
	aspect-ratio:16/11; background:var(--pink-soft); overflow:hidden; position:relative;
}
.pe-featured__hero .pe-featured__img{ aspect-ratio:4/3.1; }
.pe-featured__img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.pe-featured__link:hover .pe-featured__img img{ transform:scale(1.03); }

.pe-featured__meta{ padding-top:1rem; display:flex; flex-direction:column; gap:.6rem; }
.pe-featured__title{
	font-family:var(--font-display); text-transform:uppercase; letter-spacing:-.01em;
	margin:0; font-size:clamp(1.2rem, 2.2vw, 2rem); line-height:1.05;
}
.pe-featured__hero .pe-featured__title{ font-size:clamp(1.6rem, 3.2vw, 2.8rem); }
.pe-featured__excerpt{ color:var(--preto); opacity:.72; margin:0; font-size:.98rem; }
.pe-featured__date{ font-family:var(--font-mono); font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; opacity:.55; }

@media (max-width:860px){
	.pe-featured__grid{ grid-template-columns:1fr; }
	.pe-featured__hero{ grid-row:auto; }
}

/* Placeholders coloridos pra posts sem imagem */
.pe-ph-1{ background:linear-gradient(135deg, var(--pink-soft), var(--pink-hot)); }
.pe-ph-2{ background:linear-gradient(135deg, var(--preto), #2a2a2a); }
.pe-ph-3{ background:linear-gradient(135deg, var(--amarelo-vibrante), var(--amarelo-mostarda)); }
.pe-ph-4{ background:linear-gradient(135deg, var(--creme), var(--pink-soft)); }

/* ================================================================
   STRIP DE CATEGORIAS (4 variações do manual)
   ================================================================ */
.pe-cat-strip{ padding:clamp(2rem,5vw,3.5rem) 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.pe-cat-strip__grid{
	display:grid; grid-template-columns:repeat(5, 1fr); gap:0;
}
.pe-cat-card{
	display:flex; flex-direction:column; justify-content:space-between;
	aspect-ratio:3/4;
	padding:1.4rem 1.2rem;
	border-right:1px solid var(--line);
	transition:transform .25s ease, background .25s ease;
	position:relative; overflow:hidden;
}
.pe-cat-card:last-child{ border-right:0; }
.pe-cat-card__num{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.2em; opacity:.55; }
.pe-cat-card__label{
	font-family:var(--font-display); text-transform:uppercase;
	font-size:clamp(1.4rem, 2.4vw, 2.3rem); line-height:.95;
	letter-spacing:-.01em;
	word-break:break-word;
}
.pe-cat-card__arrow{ font-family:var(--font-display); font-size:1.5rem; align-self:flex-end; }
.pe-cat-card:hover{ transform:translateY(-3px); }

.pe-cat-card--creme{ background:var(--creme); color:var(--preto); }
.pe-cat-card--preto{ background:var(--preto); color:var(--creme); }
.pe-cat-card--preto .pe-cat-card__num{ color:var(--amarelo-mostarda); opacity:1; }
.pe-cat-card--pink-soft{ background:var(--pink-soft); color:var(--preto); }
.pe-cat-card--amarelo{ background:var(--amarelo-vibrante); color:var(--preto); }
.pe-cat-card--pink-hot{ background:var(--pink-hot); color:var(--creme); }
.pe-cat-card--pink-hot .pe-cat-card__num{ color:var(--creme); opacity:.8; }

@media (max-width:860px){
	.pe-cat-strip__grid{ grid-template-columns:repeat(2, 1fr); }
	.pe-cat-card{ border-bottom:1px solid var(--line); }
}

/* ================================================================
   SECTION HEADER (titulo editorial)
   ================================================================ */
.pe-section-head{ text-align:center; margin-bottom:3rem; }
.pe-section-head__title{
	margin:1rem 0 .8rem; display:flex; justify-content:center; gap:.4em; flex-wrap:wrap; align-items:baseline;
}
.pe-section-head__title .pe-display{ font-size:var(--fs-display-md); }
.pe-section-head__title .pe-italic{ font-size:clamp(1.4rem, 3vw, 2.4rem); }
.pe-section-head__sub{ color:var(--preto); opacity:.68; max-width:520px; margin:0 auto; }
.pe-section-head--light{ color:var(--creme); }
.pe-section-head--light .pe-section-head__sub{ color:var(--creme); opacity:.75; }
.pe-section-foot{ text-align:center; margin-top:2.5rem; }

.pe-section{ padding:clamp(2.5rem,6vw,5rem) 0; }
.pe-empty{ text-align:center; padding:3rem 0; opacity:.7; }

/* ================================================================
   GRID DE POSTS (latest / archive)
   ================================================================ */
.pe-latest{ padding:clamp(3rem,6vw,5rem) 0; background:var(--creme); }
.pe-grid{
	display:grid; grid-template-columns:repeat(3, 1fr); gap:2rem;
}
.pe-grid--3{ grid-template-columns:repeat(3,1fr); }
@media (max-width:900px){ .pe-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .pe-grid{ grid-template-columns:1fr; } }

.pe-card__link{ display:block; color:inherit; }
.pe-card__img-wrap{ position:relative; overflow:hidden; aspect-ratio:4/3; background:var(--pink-soft); }
.pe-card__img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.pe-card__link:hover .pe-card__img{ transform:scale(1.04); }
.pe-card__cat{
	position:absolute; left:1rem; top:1rem;
	background:var(--preto); color:var(--creme);
	font-family:var(--font-mono); font-size:.65rem; letter-spacing:.2em; text-transform:uppercase;
	padding:.3rem .6rem;
}
.pe-card__body{ padding:1.1rem 0 0; }
.pe-card__title{
	font-family:var(--font-display); text-transform:uppercase; letter-spacing:-.01em;
	margin:0 0 .5rem; font-size:clamp(1.05rem, 1.6vw, 1.35rem); line-height:1.1;
}
.pe-card__meta{
	font-family:var(--font-mono); font-size:.68rem; letter-spacing:.15em; text-transform:uppercase;
	display:flex; gap:.5rem; opacity:.55;
}

/* Paginação */
.pe-pagination{ text-align:center; margin-top:3rem; }
.pe-pagination .page-numbers{
	display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px; padding:0 .8rem;
	font-family:var(--font-mono); text-transform:uppercase; letter-spacing:.12em; font-size:.75rem;
	margin:0 .15rem; border:1px solid var(--line); border-radius:999px;
}
.pe-pagination .current, .pe-pagination .page-numbers:hover{ background:var(--preto); color:var(--creme); border-color:var(--preto); }

/* ================================================================
   QUIZZES FEATURED (seção preto)
   ================================================================ */
.pe-quiz-feat{
	background:var(--preto); color:var(--creme);
	padding:clamp(3.5rem,7vw,6rem) 0;
}
.pe-quiz-feat .pe-section-head__title{ color:var(--creme); }
.pe-quiz-feat .pe-section-head__title .pe-italic{ color:var(--pink-hot); }
.pe-quiz-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:2rem; }
@media (max-width:860px){ .pe-quiz-grid{ grid-template-columns:1fr; } }

.pe-quiz-card{ background:#1a1a1a; overflow:hidden; transition:transform .25s ease; }
.pe-quiz-card:hover{ transform:translateY(-4px); }
.pe-quiz-card a{ color:var(--creme); display:block; }
.pe-quiz-card img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.pe-quiz-card__ph{ width:100%; aspect-ratio:4/3; background:linear-gradient(135deg, var(--pink-hot), var(--amarelo-vibrante)); }
.pe-quiz-card__body{ padding:1.4rem; }
.pe-quiz-card__title{
	font-family:var(--font-display); text-transform:uppercase; letter-spacing:-.01em;
	margin:.7rem 0; font-size:1.4rem; line-height:1.1;
}
.pe-quiz-card__cta{
	font-family:var(--font-mono); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--pink-hot);
}

/* ================================================================
   SELOS EDITORIAIS (estilo cards do manual)
   ================================================================ */
.pe-selos{ padding:clamp(3rem,6vw,5rem) 0; }
.pe-selos__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
@media (max-width:860px){ .pe-selos__grid{ grid-template-columns:1fr; } }
.pe-selo-card{
	aspect-ratio:1/1.15;
	padding:2rem;
	display:flex; flex-direction:column; justify-content:space-between; align-items:center;
	text-align:center;
	transition:transform .25s ease;
	position:relative;
}
.pe-selo-card:hover{ transform:translateY(-4px); }
.pe-selo-card--pink-hot{ background:var(--pink-hot); color:var(--creme); }
.pe-selo-card--pink-hot .pe-selo{ color:var(--amarelo-vibrante); }
.pe-selo-card--pink-hot .pe-italic{ color:var(--amarelo-vibrante); }
.pe-selo-card--preto{ background:var(--preto); color:var(--creme); }
.pe-selo-card--preto .pe-italic{ color:var(--pink-hot); }
.pe-selo-card--amarelo{ background:var(--amarelo-vibrante); color:var(--preto); }
.pe-selo-card--amarelo .pe-selo{ color:var(--pink-hot); }
.pe-selo-card--amarelo .pe-italic{ color:var(--pink-hot); }
.pe-selo-card__text{
	margin:0;
	font-size:clamp(1.4rem, 2.4vw, 2.1rem);
	line-height:1;
}
.pe-selo-card__text .pe-display{ font-size:1em; }
.pe-selo-card__text .pe-italic{ font-size:.85em; }
.pe-selo-card__tag{
	font-family:var(--font-mono); font-size:.68rem; letter-spacing:.2em; text-transform:uppercase;
}
.pe-selo-card__tag--light{ color:var(--amarelo-mostarda); }

/* ================================================================
   SINGLE (post)
   ================================================================ */
.pe-single__head{ padding:clamp(2rem,5vw,4rem) 0 2rem; text-align:center; }
.pe-single__head-inner{ max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:1.2rem; align-items:center; }
.pe-breadcrumbs{ font-family:var(--font-mono); font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; opacity:.65; }
.pe-breadcrumbs ol{ display:flex; gap:.5rem; flex-wrap:wrap; justify-content:center; }
.pe-breadcrumbs li:not(:last-child)::after{ content:"/"; margin-left:.5rem; opacity:.55; }
.pe-single__title{ margin:0; font-size:clamp(1.3rem, 2.4vw, 1.8rem); line-height:1.2; font-family:var(--font-display); text-transform:uppercase; letter-spacing:-.01em; }
.pe-single__lede{ font-family:var(--font-italic); font-style:italic; font-size:1.25rem; color:var(--preto); opacity:.78; margin:0; max-width:700px; }
.pe-meta{ display:inline-flex; gap:.6rem; font-family:var(--font-mono); font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; opacity:.7; flex-wrap:wrap; justify-content:center; }
.pe-meta__cat{ color:var(--pink-hot); }
.pe-meta__sep{ opacity:.45; }

.pe-single__hero{ margin:0; }
.pe-single__hero img{ width:100%; max-height:70vh; object-fit:cover; }

.pe-single__body{ max-width:760px; padding-top:3rem; padding-bottom:3rem; }
.pe-content{ font-size:1.1rem; line-height:1.75; color:var(--preto); }
.pe-content h2{ font-family:var(--font-display); text-transform:uppercase; letter-spacing:-.01em; font-size:clamp(1.6rem,2.4vw,2.2rem); line-height:1.1; margin:2.5rem 0 1rem; }
.pe-content h3{ font-family:var(--font-display); text-transform:uppercase; letter-spacing:-.01em; font-size:1.4rem; line-height:1.2; margin:2rem 0 .8rem; }
.pe-content h4{ font-family:var(--font-mono); text-transform:uppercase; letter-spacing:.18em; font-size:.9rem; margin:1.6rem 0 .5rem; color:var(--pink-hot); }
.pe-content p{ margin:0 0 1.3em; }
.pe-content a{ color:var(--pink-hot); border-bottom:1px solid currentColor; }
.pe-content blockquote{
	margin:2rem 0; padding:1.5rem 2rem; border-left:4px solid var(--pink-hot); background:var(--pink-soft);
	font-family:var(--font-italic); font-style:italic; font-size:1.3rem; color:var(--preto);
}
.pe-content img{ margin:1.5rem 0; }
.pe-content ul, .pe-content ol{ margin:0 0 1.3em 1.4em; padding:0; list-style:initial; }
.pe-content li{ margin-bottom:.4em; }
.pe-content hr{ border:0; border-top:1px solid var(--line); margin:2.5rem 0; }

/* Assinatura com monograma */
.pe-single__sig{
	display:flex; align-items:center; gap:1rem;
	padding:2rem 0; margin:2.5rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
	font-family:var(--font-mono); font-size:.78rem; letter-spacing:.14em; text-transform:uppercase;
}

.pe-single__tags{ margin:2rem 0; }
.pe-taglist{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.8rem; }
.pe-taglist a{
	display:inline-block; background:var(--creme); border:1px solid var(--line); padding:.4rem .9rem;
	font-family:var(--font-mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase;
}
.pe-taglist a:hover{ background:var(--preto); color:var(--creme); border-color:var(--preto); }

/* Share */
.pe-share{ margin:2rem 0 3rem; padding:1.5rem 0; border-top:1px solid var(--line); }
.pe-share__label{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; display:block; margin-bottom:.7rem; color:var(--pink-hot); }
.pe-share ul{ display:flex; gap:.5rem; flex-wrap:wrap; }
.pe-share a{
	display:inline-block; padding:.55rem 1rem; border:1px solid var(--preto); border-radius:999px;
	font-family:var(--font-mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase;
}
.pe-share a:hover{ background:var(--preto); color:var(--creme); }

.pe-related{ margin-top:3rem; padding-top:2rem; border-top:1px solid var(--line); }
.pe-related .pe-grid--3{ margin-top:1.5rem; }

/* ================================================================
   ARCHIVE / SEARCH
   ================================================================ */
.pe-archive-head{ padding:clamp(2.5rem,6vw,4.5rem) 0 2rem; text-align:center; }
.pe-archive-head__title{
	margin:1rem 0 .8rem;
	display:flex; gap:.4em; justify-content:center; flex-wrap:wrap; align-items:baseline;
}
.pe-archive-head__title .pe-display{ font-size:var(--fs-display-lg); }
.pe-archive-head__title .pe-italic{ font-size:clamp(1.6rem,3vw,2.6rem); }
.pe-archive-head__desc{ max-width:600px; margin:1rem auto 0; opacity:.75; }

/* Empty state */
.pe-empty-state{ text-align:center; padding:4rem 0; }
.pe-empty-state .pe-display{ font-size:clamp(4rem,10vw,9rem); margin:0; line-height:.9; }
.pe-empty-state .pe-italic{ font-size:clamp(1.8rem,4vw,3rem); color:var(--pink-hot); margin:0 0 1.5rem; }

/* 404 */
.pe-404__inner{ text-align:center; padding:clamp(3rem,8vw,6rem) 0; }
.pe-404__title{
	margin:1rem 0; display:flex; flex-direction:column; gap:.2em; align-items:center;
}
.pe-404__title .pe-display{ font-size:clamp(4rem,12vw,10rem); }
.pe-404__title .pe-italic{ font-size:clamp(1.6rem,3.5vw,2.6rem); }
.pe-404__sub{ color:var(--preto); opacity:.72; max-width:440px; margin:0 auto 2rem; }
.pe-404__ctas{ display:flex; gap:.8rem; justify-content:center; flex-wrap:wrap; margin-bottom:3rem; }

/* ================================================================
   NEWSLETTER (grande, inspirada na última página do manual)
   ================================================================ */
.pe-newsletter{
	background:var(--pink-hot); color:var(--creme);
	padding:clamp(4rem,9vw,8rem) 0;
	text-align:center;
}
.pe-newsletter .pe-selo{ color:var(--creme); }
.pe-newsletter__title{
	margin:1.5rem 0; display:flex; flex-direction:column; align-items:center; gap:.2em; line-height:.95;
}
.pe-newsletter__title .pe-display{ font-size:var(--fs-display-xl); color:var(--creme); }
.pe-newsletter__title .pe-italic{ font-size:clamp(2rem,5vw,4.5rem); color:var(--amarelo-vibrante); }
.pe-newsletter__quote{
	font-family:var(--font-italic); font-style:italic; font-size:clamp(1.1rem,1.8vw,1.4rem); color:var(--creme);
	max-width:560px; margin:0 auto 2rem;
}
.pe-newsletter__desc{ color:var(--creme); opacity:.9; margin-bottom:1.2rem; }
.pe-newsletter__form{
	display:flex; gap:.5rem; background:var(--creme); border-radius:999px; padding:.4rem;
	max-width:520px; margin:0 auto;
}
.pe-newsletter__form input{
	flex:1; border:0; background:transparent; outline:0; padding:0 1rem;
	font-family:var(--font-body); color:var(--preto);
}
.pe-newsletter__form button{
	background:var(--preto); color:var(--creme); border:0; padding:.8rem 1.5rem; border-radius:999px;
	font-family:var(--font-mono); text-transform:uppercase; letter-spacing:.15em; font-size:.75rem;
}
.pe-newsletter__form button:hover{ background:var(--pink-hot); outline:2px solid var(--creme); }

/* ================================================================
   FOOTER
   ================================================================ */
.pe-footer{
	background:var(--preto); color:var(--creme);
	padding:clamp(3rem,6vw,5rem) 0 2rem;
}
.pe-footer__brand{ text-align:center; margin-bottom:3rem; }
.pe-footer__brand .pe-logo{ font-size:22px; }
.pe-footer__cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
@media (max-width:700px){ .pe-footer__cols{ grid-template-columns:1fr; } }
.pe-footer__col h4, .pe-footer__title{
	font-family:var(--font-mono); font-size:.78rem; letter-spacing:.2em; text-transform:uppercase; color:var(--pink-hot);
	margin:0 0 1rem;
}
.pe-footer__col ul{ display:flex; flex-direction:column; gap:.5rem; }
.pe-footer__col a{ color:var(--creme); opacity:.8; }
.pe-footer__col a:hover{ color:var(--pink-hot); opacity:1; }
.pe-footer__hashtag{ margin-top:1rem; font-family:var(--font-mono); font-size:.72rem; letter-spacing:.15em; color:var(--amarelo-mostarda); }
.pe-footer__bottom{
	display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem;
	margin-top:3rem; padding-top:2rem; border-top:1px solid rgba(255,255,255,.1);
}
.pe-footer__copy{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; opacity:.6; }

.pe-socials{ display:flex; flex-direction:column; gap:.5rem; }
.pe-socials a{ font-family:var(--font-mono); font-size:.8rem; letter-spacing:.15em; text-transform:uppercase; }

/* ================================================================
   UTILITÁRIOS
   ================================================================ */
.pe-widget{ margin-bottom:2rem; }
.pe-widget__title{ font-family:var(--font-mono); font-size:.78rem; letter-spacing:.2em; text-transform:uppercase; color:var(--pink-hot); margin-bottom:1rem; }

/* Animações sutis */
@media (prefers-reduced-motion:no-preference){
	.pe-featured__card, .pe-cat-card, .pe-selo-card, .pe-card{ animation:peFadeUp .5s ease both; }
	@keyframes peFadeUp{ from{ opacity:0; transform:translateY(12px); } to{ opacity:1; transform:none; } }
}

/* ================================================================
   HERO SLIDER (split layout: image