Files
site_users/themes/site_users_microsite_theme/css/microsite.css
Quintino A. G. Souza 0b137e8d12 Adiciona barra social lateral ao tema do microsite
Implementa o layout estilo Olivero: em desktop (≥ 1200 px) a região
Social fica fixada à esquerda com conteúdo girado −90°; em mobile exibe
barra horizontal compacta. Usa IntersectionObserver para aplicar
.is-fixed ao scroll.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 10:38:54 -03:00

266 lines
4.9 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* Microsite theme — estilos base.
* Ponto de partida minimalista. Personalize conforme o design do site.
*/
*,
*::before,
*::after {
box-sizing: border-box;
}
body.microsite {
margin: 0;
font-family: system-ui, sans-serif;
background: #f5f5f5;
color: #222;
}
/* Skip link */
.skip-link {
position: absolute;
top: -100%;
left: 0;
padding: 0.5rem 1rem;
background: #000;
color: #fff;
z-index: 9999;
}
.skip-link:focus {
top: 0;
}
/* Header ------------------------------------------------------------------- */
.microsite-header {
background: #1a1a2e;
color: #fff;
padding: 2rem 1.5rem;
}
.microsite-header__inner {
display: flex;
align-items: center;
gap: 1.5rem;
max-width: 900px;
margin: 0 auto;
}
.microsite-header__photo img {
width: 80px;
height: 80px;
border-radius: 50%;
object-fit: cover;
border: 3px solid rgba(255, 255, 255, 0.3);
}
.microsite-header__name {
margin: 0 0 0.25rem;
font-size: 1.5rem;
font-weight: 700;
}
.microsite-header__roles {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 0.5rem;
flex-wrap: wrap;
}
.microsite-header__role {
font-size: 0.8rem;
text-transform: uppercase;
letter-spacing: 0.05em;
background: rgba(255, 255, 255, 0.15);
padding: 0.2rem 0.6rem;
border-radius: 999px;
}
/* Navigation --------------------------------------------------------------- */
.microsite-nav {
background: #16213e;
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.microsite-nav ul.tabs {
list-style: none;
margin: 0;
padding: 0 1.5rem;
display: flex;
max-width: 900px;
margin: 0 auto;
}
.microsite-nav ul.tabs li {
margin: 0;
}
.microsite-nav ul.tabs a {
display: block;
padding: 0.75rem 1.25rem;
color: rgba(255, 255, 255, 0.7);
text-decoration: none;
font-size: 0.9rem;
border-bottom: 3px solid transparent;
transition: color 0.2s, border-color 0.2s;
}
.microsite-nav ul.tabs a:hover,
.microsite-nav ul.tabs a:focus {
color: #fff;
}
.microsite-nav ul.tabs li.is-active a,
.microsite-nav ul.tabs a.is-active {
color: #fff;
border-bottom-color: #e94560;
}
/* Highlighted -------------------------------------------------------------- */
.microsite-highlighted {
max-width: 900px;
margin: 1.5rem auto 0;
padding: 0 1.5rem;
}
/* Main + Sidebar ----------------------------------------------------------- */
.microsite-main-wrapper {
max-width: 900px;
margin: 2rem auto;
padding: 0 1.5rem;
}
.microsite-main-wrapper--has-sidebar {
display: grid;
grid-template-columns: 1fr 280px;
gap: 2rem;
max-width: 1200px;
}
.microsite-main {
min-width: 0;
}
.microsite-sidebar {
min-width: 0;
}
.microsite-messages {
margin-bottom: 1.5rem;
}
/* Social Bar --------------------------------------------------------------- */
/*
* Mobile: barra horizontal compacta.
* Desktop (≥ 1200px): coluna lateral fixa à esquerda, 90px de largura,
* conteúdo girado 90° (estilo Olivero Social Bar).
*/
.social-bar__inner {
position: relative;
padding: 0.5rem 1rem;
}
.social-bar__inner .rotate > * {
margin-bottom: 0.5rem;
}
@media (min-width: 1200px) {
/* Layout flex: barra social à esquerda, conteúdo principal à direita */
.microsite-layout--has-social {
display: flex;
align-items: flex-start;
}
.microsite-content-area {
flex: 1;
min-width: 0;
}
/* Coluna .social-bar no fluxo (placeholder de 90px) */
.social-bar {
flex-shrink: 0;
width: 90px;
background-color: #f3f3f3;
align-self: stretch;
}
/* Wrapper interno: posicionamento relativo normal; .is-fixed o fixa */
.social-bar__inner {
position: relative;
width: 90px;
padding: 2.5rem 0;
}
.social-bar__inner.is-fixed {
position: fixed;
top: 3rem;
left: 0;
height: calc(100vh - 3rem);
}
/* Conteúdo girado em 90° */
.social-bar__inner .rotate {
position: absolute;
left: 50%;
display: flex;
flex-direction: row-reverse;
width: 100vh;
transform: rotate(-90deg) translateX(-100%);
transform-origin: left;
}
@supports (width: max-content) {
.social-bar__inner .rotate {
width: max-content;
}
}
.social-bar__inner .rotate > * {
display: flex;
align-items: center;
margin-bottom: 0;
}
.social-bar__inner .rotate > *:not(:first-child) {
margin-right: 2rem;
}
}
/* Footer ------------------------------------------------------------------- */
.microsite-footer {
background: #16213e;
color: rgba(255, 255, 255, 0.7);
padding: 2rem 1.5rem;
margin-top: 2rem;
}
.microsite-footer a {
color: rgba(255, 255, 255, 0.85);
}
/* Responsividade básica ---------------------------------------------------- */
@media (max-width: 768px) {
.microsite-main-wrapper--has-sidebar {
grid-template-columns: 1fr;
}
}
@media (max-width: 600px) {
.microsite-header__inner {
flex-direction: column;
text-align: center;
}
.microsite-header__roles {
justify-content: center;
}
}