/** * 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; } }